Verifying Concurrent Programs by Controlling Alias Interference
نویسندگان
چکیده
Verifying Concurrent Programs by Controlling Alias Interference
منابع مشابه
Panini: A Concurrent Programming Model for Solving Pervasive & Oblivious Interference
Modular reasoning about concurrent programs is complicated by the possibility of interferences happening between any two instructions of a task (pervasive interference), and these interferences not giving out any information about the behaviors of potentially interfering concurrent tasks (oblivious interference). Reasoning about a concurrent program would be easier if a programmer, modularly an...
متن کاملPruning Interference and Ready Dependence for Slicing Concurrent Java Programs∗ (Extended Version)
The problem of efficiently calculating precise slices of concurrent programs is challenging because it is difficult to statically reason about the dependences that arise when multiple threads perform interfering reads/writes on shared data. The use of heap-allocated data in such programs makes the task even more difficult due to problems associated with aliasing. Existing presentations of slici...
متن کاملSyntactic Control of Interference for Separation Logic (Preliminary Report)
In an important paper in 1978 [26], Reynolds formulated a system of rules for “syntactic control of interference” formalizing the extant conventions for good programming practice in controlling variable aliasing as well as the conventions used in the programming logics formulated by Hoare [11, 12]. The focus of the rules at that time was the use of procedures. However, concurrency poses very mu...
متن کاملCSimpl: A Rely-Guarantee-Based Framework for Verifying Concurrent Programs
It is essential to deal with the interference of the environment between programs in concurrent program verification. This has led to the development of concurrent program reasoning techniques such as rely-guarantee. However, the source code of the programs to be verified often involves language features such as exceptions and procedures which are not supported by the existing mechanizations of...
متن کاملA method for verifying concurrent Java components based on an analysis of concurrency failures
The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent non-determinism and a number of specific concurrency problems, such as interference and deadlock. In previous work, we have developed the ConAn testing tool for the testing of concurrent Java components. ConAn has been found to be effective at tes...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014